#ifndef INPUT_HEADER
#define INPUT_HEADER

#ifdef _WINDOWS

#define DIRECTINPUT_VERSION 0x0800
#define DICONST 0x80

#include <dinput.h>
#include <xboxcontroller.h>

class Input
{
private:
	IDirectInput8* dInput;
	IDirectInputDevice8* keyboard;
	IDirectInputDevice8* mouse;

	unsigned char keyboardState[256];
	DIMOUSESTATE mouseState;
	Vector2i screenSize;
	Vector2i mousePos;
	Vector2i mouseDelta;
public:
	Input();
	~Input();

	bool Init(HINSTANCE, HWND, Vector2i);
	void Destroy();

	bool PollInput();
	unsigned char* GetKeyboardState();
	DIMOUSESTATE GetMouseState();
	Vector2i GetMousePos();
	Vector2i GetMouseDelta();
};

#endif

#endif